home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 2.toast / pc / sample code / quicktime / quicktimeintro / wiredsprites / application files / wiredspriteutilities.h < prev   
Encoding:
Text File  |  2000-10-06  |  9.7 KB  |  133 lines

  1. //////////
  2. //
  3. //    File:        WiredSpriteUtilities.h
  4. //
  5. //    Contains:    Utilities for creating wired sprite media.
  6. //
  7. //    Written by:    Sean Allen
  8. //    Revised by:    Chris Flick and Tim Monroe
  9. //
  10. //    Copyright:    © 1998 by Apple Computer, Inc., all rights reserved.
  11. //
  12. //////////
  13.  
  14. #include <Endian.h>
  15.  
  16. #ifndef _WIREDSPRITEUTILITIES_
  17. #define _WIREDSPRITEUTILITIES_
  18. #ifndef __MOVIES__
  19.     #include <Movies.h>
  20. #endif
  21. #endif
  22.  
  23. // _____________________ Action Sprite Utilities _____________________ //
  24.  
  25. OSErr AddQTEventAtom( QTAtomContainer container, QTAtom actionAtoms, QTAtomID theQTEventType, QTAtom *newQTEventAtom );
  26. OSErr AddActionAtom( QTAtomContainer container, QTAtom eventAtom, long whichActionConstant, QTAtom *newActionAtom );
  27. OSErr AddActionParameterAtom( QTAtomContainer container, QTAtom actionAtom, long parameterIndex, long paramDataSize, void *paramData, QTAtom *newParamAtom );
  28. OSErr AddActionParameterOptions( QTAtomContainer container, QTAtom actionAtom, QTAtomID paramID, long flags, long minValueSize, void *minValue, long maxValueSize, void *maxValue );
  29. OSErr AddTrackNameActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, Str255 trackName, QTAtom *newTargetAtom );
  30. OSErr AddTrackIDActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, long trackID, QTAtom *newTargetAtom );
  31. OSErr AddTrackTypeActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, OSType trackType, QTAtom *newTargetAtom );
  32. OSErr AddTrackIndexActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, long trackIndex, QTAtom *newTargetAtom );
  33. OSErr AddSpriteNameActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, Str255 spriteName, QTAtom *newTargetAtom );
  34. OSErr AddSpriteIDActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, QTAtomID spriteID, QTAtom *newTargetAtom );
  35. OSErr AddSpriteIndexActionTargetAtom( QTAtomContainer container, QTAtom actionAtom, short spriteIndex, QTAtom *newTargetAtom );
  36.  
  37.  
  38. enum {
  39.     kFirstParam        = 1,
  40.     kSecondParam    = 2,
  41.     kThirdParam        = 3,
  42.     kFourthParam    = 4,
  43.     kFifthParam        = 5,
  44.     kSixthParam        = 6,
  45.     kSeventhParam    = 7,
  46.     kEighthParam    = 8,
  47.     kNinthParam        = 9,
  48.     kTenthParam        = 10
  49. };
  50.  
  51. OSErr AddQTEventAndActionAtoms( QTAtomContainer container, QTAtom atom, long whichEvent, long whichAction, QTAtom *actionAtom );
  52. OSErr AddTrackTargetAtom( QTAtomContainer container, QTAtom actionAtom, long trackTargetType, void *trackTarget, long trackTypeIndex );
  53. OSErr AddSpriteTargetAtom( QTAtomContainer container, QTAtom actionAtom, long spriteTargetType, void *spriteTarget );
  54. OSErr AddTrackAndSpriteTargetAtoms( QTAtomContainer container, QTAtom actionAtom, long trackTargetType, void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget );
  55.  
  56. OSErr AddMovieSetVolumeAction( QTAtomContainer container, QTAtom atom, long whichEvent, short volume );
  57. OSErr AddMovieSetRateAction( QTAtomContainer container, QTAtom atom, long whichEvent, Fixed rate );
  58. OSErr AddMovieSetLoopingFlagsAction( QTAtomContainer container, QTAtom atom, long whichEvent, long loopingFlags );
  59. OSErr AddMovieGoToTimeAction( QTAtomContainer container, QTAtom atom, long whichEvent, TimeValue time );
  60. OSErr AddMovieGoToTimeByNameAction( QTAtomContainer container, QTAtom atom, long whichEvent, Str255 timeName );
  61. OSErr AddMovieGoToBeginningAction( QTAtomContainer container, QTAtom atom, long whichEvent );
  62. OSErr AddMovieGoToEndAction( QTAtomContainer container, QTAtom atom, long whichEvent );
  63. OSErr AddMovieStepForwardAction( QTAtomContainer container, QTAtom atom, long whichEvent );
  64. OSErr AddMovieStepBackwardAction( QTAtomContainer container, QTAtom atom, long whichEvent );
  65. OSErr AddMovieSetSelectionAction( QTAtomContainer container, QTAtom atom, long whichEvent, TimeValue startTime, TimeValue endTime );
  66. OSErr AddMovieSetSelectionByNameAction( QTAtomContainer container, QTAtom atom, long whichEvent, Str255 startTimeName, Str255 endTimeName );
  67. OSErr AddMoviePlaySelectionAction( QTAtomContainer container, QTAtom atom, long whichEvent, Boolean selectionOnly );
  68. OSErr AddMovieSetLanguage( QTAtomContainer container, QTAtom atom, long whichEvent, long language );
  69.  
  70. OSErr AddTrackSetVolumeAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, short volume );
  71. OSErr AddTrackSetBalanceAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, short balance );
  72. OSErr AddTrackSetEnabledAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, Boolean enabled );
  73. OSErr AddTrackSetMatrixAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, MatrixRecordPtr matrix, QTAtom *actionAtom );
  74. OSErr AddTrackSetLayerAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, short layer );
  75. OSErr AddTrackSetClipAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, RgnHandle clip );
  76.  
  77. OSErr AddSpriteSetMatrixAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, MatrixRecordPtr matrix, QTAtom *actionAtom );
  78. OSErr AddSpriteSetImageIndexAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, short setImageIndex, QTAtom *actionAtom );
  79. OSErr AddSpriteSetVisibleAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, short visible, QTAtom *actionAtom );
  80. OSErr AddSpriteSetLayerAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, short layer );
  81. OSErr AddSpriteSetGraphicsModeAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, 
  82.                                       void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, 
  83.                                       ModifierTrackGraphicsModeRecord *graphicsMode, QTAtom *actionAtom );
  84.  
  85. OSErr AddSpriteTranslateAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, 
  86.                                       void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, 
  87.                                       Fixed x, Fixed y, Boolean isRelative, QTAtom *actionAtom );
  88. OSErr AddSpriteScaleAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, 
  89.                             void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, 
  90.                             Fixed xScale, Fixed yScale, Fixed aboutX, Fixed aboutY, Boolean isRelative, QTAtom *actionAtom );
  91. OSErr AddSpriteRotateAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, 
  92.                             void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, 
  93.                             Fixed degrees, Fixed aboutX, Fixed aboutY, Boolean isRelative, QTAtom *actionAtom );
  94. OSErr AddSpriteStretchAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, 
  95.                             void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget, 
  96.                             Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y, 
  97.                             Boolean isRelative, QTAtom *actionAtom );
  98.  
  99. OSErr AddMusicPlayNoteAction( QTAtomContainer container, QTAtom atom, long whichEvent, long trackTargetType, 
  100.                               void *trackTarget, long trackTypeIndex, long sampleDescIndex, long partIndex,
  101.                               long pitch, long velocity, long duration );
  102.  
  103. OSErr AddSpriteTrackSetVariableAction( QTAtomContainer container, QTAtom atom, long whichEvent, QTAtomID variableID, float value, 
  104.                                        long trackTargetType, void *trackTarget, long trackTypeIndex );
  105.  
  106. OSErr AddGoToURLAction( QTAtomContainer container, QTAtom atom, long whichEvent, Handle urlLink );
  107. OSErr AddSendQTEventAction( QTAtomContainer container, QTAtom atom, long whichEvent, QTEventRecordPtr theEvent,
  108.                             long trackTargetType, void *trackTarget, long trackTypeIndex, long spriteTargetType, void *spriteTarget );
  109. OSErr AddDebugStrAction( QTAtomContainer container, QTAtom atom, long whichEvent, Str255 theString );
  110.  
  111. OSErr AddPushCurrentTimeAction( QTAtomContainer container, QTAtom atom, long whichEvent );
  112. OSErr AddPushCurrentTimeWithLabelAction( QTAtomContainer container, QTAtom atom, long whichEvent, Str255 theLabel );
  113. OSErr AddPopAndGotoTopTimeAction( QTAtomContainer container, QTAtom atom, long whichEvent );
  114. OSErr AddPopAndGotoLabeledTimeAction( QTAtomContainer container, QTAtom atom, long whichEvent, Str255 theLabel );
  115.  
  116. OSErr AddApplicationNumberAndStringAction( QTAtomContainer container, QTAtom atom, long whichEvent, long theNumber, Str255 theString );
  117.  
  118. // ________ Interpreted Actions __________
  119.  
  120. OSErr AddOperandAtom( QTAtomContainer container, QTAtom operatorAtom, QTAtomType operandType, short operandIndex,
  121.                       QTAtomContainer operandAtoms, float constantValue );
  122.  
  123. OSErr AddVariableOperandAtom( QTAtomContainer container, QTAtom operatorAtom, short operandIndex,
  124.                                 long trackTargetType, void *trackTarget, long trackTypeIndex, QTAtomID variableID );
  125.  
  126. OSErr AddOperatorAtom( QTAtomContainer container, QTAtom expressionAtom, QTAtomID theOperatorType, QTAtom *operatorAtom );
  127. OSErr AddExpressionContainerAtomType( QTAtomContainer container, QTAtom atom, QTAtom *expressionAtom );
  128. OSErr AddConditionalAtom( QTAtomContainer container, QTAtom atom, short conditionIndex, QTAtom *conditionalAtom );
  129. OSErr AddActionListAtom( QTAtomContainer container, QTAtom atom, QTAtom *actionListAtom );
  130. void ConvertFloatToBigEndian (float *theFloat);
  131.  
  132.  
  133.